package db;

import domain.ActivityApplication;
import web.PaginationSupport;

import java.util.List;

/**
 * 活动申请资源库接口
 *
 * @author liujiale
 */
public interface ActivityApplicationRepository {
    /**
     * 获取申请的总数
     * @return 申请的数量
     */
    long count();

    /**
     * 创建一个新的申请
     * @param activityApplication 新申请的信息
     * @return 新创建的申请
     */
    ActivityApplication save(ActivityApplication activityApplication);

    /**
     * 根据ID查找申请
     * @param activityApplicationID 申请的ID
     * @return 对应ID的申请
     */
    ActivityApplication findOne(int activityApplicationID);

    /**
     * 更新申请
     * @param activityApplication 更新后的申请信息
     * @return 是否更新成功
     */
    boolean updateActivityApplication(ActivityApplication activityApplication);


    /**
     * 分页查找申请
     * @param pageNo 页码
     * @param pageSize 每页的数量
     * @return 分页的申请列表
     */
    PaginationSupport<ActivityApplication> findPage(int pageNo, int pageSize);



    /**
     * 删除申请
     * @param activityApplicationID 申请的ID
     * @return 是否删除成功
     */
    boolean deleteActivityApplication(int activityApplicationID);

    /**
     * 获取所有申请
     * @return 所有申请的列表
     */
    List<ActivityApplication> findAll();
}
